package jpa.entitys.promis.construction;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the VW_SYNC_REQUEST_PAYMENT database table.
 * 
 */
@Entity
@Table(name="VW_SYNC_REQUEST_PAYMENT")
@NamedQueries({
    @NamedQuery(name = "VwSyncRequestPayment.findAll", query = " SELECT c FROM VwSyncRequestPayment c order by c.company,c.project,c.requestNo,c.status,c.unitNumber,c.installmentNumber asc"),
    @NamedQuery(name = "VwSyncRequestPayment.findById", query = " SELECT c FROM VwSyncRequestPayment c WHERE c.paymentRequestInstId = :Id "),
    @NamedQuery(name = "VwSyncRequestPayment.findByStaging", query = " SELECT c FROM VwSyncRequestPayment c WHERE c.syncIsstaging = :syncIsstaging order by c.company,c.project,c.requestNo,c.status,c.unitNumber,c.installmentNumber asc"),
    @NamedQuery(name = "VwSyncRequestPayment.findByDocumentNo", query = " SELECT c FROM VwSyncRequestPayment c WHERE c.company = :company And c.project = :project And c.requestNo = :documentNo And c.status = :status And c.syncIsstaging = :syncIsstaging  order by c.company,c.project,c.requestNo,c.status,c.unitNumber,c.installmentNumber asc"),
    @NamedQuery(name = "VwSyncRequestPayment.findByDocumentWithoutVO", query = " SELECT c FROM VwSyncRequestPayment c WHERE c.company = :company And c.project = :project And c.requestNo = :documentNo And c.status = :status And c.syncIsstaging = :syncIsstaging And c.refType = :refType  order by c.company,c.project,c.requestNo,c.status,c.unitNumber,c.installmentNumber asc"),
    @NamedQuery(name = "VwSyncRequestPayment.findByDocumentWithVO", query = " SELECT c FROM VwSyncRequestPayment c WHERE c.company = :company And c.project = :project And c.requestNo = :documentNo And c.status = :status And c.syncIsstaging = :syncIsstaging  order by c.company,c.project,c.requestNo,c.status,c.unitNumber,c.installmentNumber asc"),
    @NamedQuery(name = "VwSyncRequestPayment.findByDocUnit", query = " SELECT c FROM VwSyncRequestPayment c WHERE c.company = :company And c.project = :project And c.buildingPhase = :buildingPhase And c.zoneCode = :zoneCode And c.requestNo = :documentNo And c.unitNumber = :unitNumber And c.refContractSeq = :refContractSeq And c.status = :status order by c.company,c.project,c.requestNo,c.status,c.unitNumber,c.installmentNumber asc"),
    @NamedQuery(name = "VwSyncRequestPayment.findByDocUnit0", query = " SELECT c FROM VwSyncRequestPayment c WHERE c.company = :company And c.project = :project And c.buildingPhase = :buildingPhase And c.zoneCode = :zoneCode And c.requestNo = :documentNo And c.unitNumber = :unitNumber And c.refContractSeq = :refContractSeq And c.status = :status And c.lineInstKey = :lineInstKey order by c.company,c.project,c.requestNo,c.status,c.unitNumber,c.installmentNumber asc"),
    @NamedQuery(name = "VwSyncRequestPayment.findByDocUnit1", query = " SELECT c FROM VwSyncRequestPayment c WHERE c.company = :company And c.project = :project And c.buildingPhase = :buildingPhase And c.zoneCode = :zoneCode And c.requestNo = :documentNo And c.unitNumber = :unitNumber And c.refContractSeq = :refContractSeq order by c.company,c.project,c.requestNo,c.status,c.unitNumber,c.installmentNumber asc")
})
public class VwSyncRequestPayment extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="PAYMENT_REQUEST_INST_ID")
	private String paymentRequestInstId;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}
	
	@Column(name="ACTUAL_WORK_COMPLETED")
	private BigDecimal actualWorkCompleted;

	@Column(name="BUILDING_PHASE")
	private String buildingPhase;

	private String company;

	@Column(name="CONTR_GUARANTEE_AMOUNT")
	private BigDecimal contrGuaranteeAmount;

	@Column(name="CREATED_BY")
	private String createdBy;

	@Column(name="CREATED_BY_NAME")
	private String createdByName;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	private String currency;

	@Column(name="DOC_NO")
	private Long docNo;

	@Column(name="DOC_SERIES")
	private String docSeries;

	@Column(name="DOC_TYPE")
	private String docType;

	@Column(name="FEE_AMOUNT")
	private BigDecimal feeAmount;

	@Column(name="INSTALLMENT_AMOUNT")
	private BigDecimal installmentAmount;

	@Column(name="INSTALLMENT_NUMBER")
	private BigDecimal installmentNumber;

	@Column(name="LAST_UPD_BY")
	private String lastUpdBy;

	@Column(name="LAST_UPD_BY_NAME")
	private String lastUpdByName;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(name="PAYMENT_AMOUNT")
	private BigDecimal paymentAmount;

	@Column(name="PAYMENT_REQUEST_DETAILS_ID")
	private String paymentRequestDetailsId;

	@Column(name="PAYMENT_REQUEST_HEADER_ID")
	private String paymentRequestHeaderId;	

	@Column(name="PENALTY_AMOUNT")
	private BigDecimal penaltyAmount;

	@Column(name="PO_DEDUCT_AMOUNT")
	private BigDecimal poDeductAmount;

	private String project;

	@Column(name="PROPERTY_CATEGORY")
	private String propertyCategory;

	@Column(name="REF_CONTRACT_NO")
	private String refContractNo;

	@Column(name="REF_INVOICE_NO")
	private String refInvoiceNo;

	@Column(name="REF_NO")
	private BigDecimal refNo;

	@Column(name="REF_SERIES")
	private String refSeries;

	@Column(name="REF_TYPE")
	private String refType;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="REQUEST_DATE")
	private Date requestDate;

	@Column(name="REQUEST_NO")
	private String requestNo;

	@Column(name="RETENTION_AMOUNT")
	private BigDecimal retentionAmount;

	@Column(name="SAP_COMPANY_CODE")
	private String sapCompanyCode;

	@Column(name="SAP_PLANT_CODE")
	private String sapPlantCode;

	@Column(nullable=false)
	private long seq;

	@Column(name="SUPPLIER_CODE")
	private String supplierCode;

	@Column(name="SYNC_CREATEDBY")
	private String syncCreatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY")
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO")
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSTAGING")
	private String syncIsstaging;

	@Column(name="SYNC_ISSYNC")
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY")
	private String syncUpdatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

	@Column(name="TAX_TYPE")
	private String taxType;

	@Column(name="UNIT_NUMBER")
	private String unitNumber;

	@Column(name="ZONE_CODE")
	private String zoneCode;
	
	@Column(name="STATUS")
	private String status;
	
	@Column(name="PAYABLE_FLAG")
	private String payableFlag;
	
	@Column(name="RETU_CONTR_GUARA_FLAG")
	private String returnContractGuaranteeFlag;

	@Column(name="REF_CONTRACT_SEQ")
	private BigDecimal refContractSeq;
	
	@Column(name="INSTALLMENT_NO_STR")
	private String installmentNoStr;	
	
	@Column(name="LINE_INST_KEY")
	private String lineInstKey;	
	
    /**
	 * @return the lineInstKey
	 */
	public String getLineInstKey() {
		return lineInstKey;
	}

	/**
	 * @param lineInstKey the lineInstKey to set
	 */
	public void setLineInstKey(String lineInstKey) {
		this.lineInstKey = lineInstKey;
	}

	/**
	 * @return the installmentNoStr
	 */
	public String getInstallmentNoStr() {
		return installmentNoStr;
	}

	/**
	 * @param installmentNoStr the installmentNoStr to set
	 */
	public void setInstallmentNoStr(String installmentNoStr) {
		this.installmentNoStr = installmentNoStr;
	}

	/**
	 * @return the refContractSeq
	 */
	public BigDecimal getRefContractSeq() {
		return refContractSeq;
	}

	/**
	 * @param refContractSeq the refContractSeq to set
	 */
	public void setRefContractSeq(BigDecimal refContractSeq) {
		this.refContractSeq = refContractSeq;
	}

	/**
	 * @return the payableFlag
	 */
	public String getPayableFlag() {
		return payableFlag;
	}

	/**
	 * @param payableFlag the payableFlag to set
	 */
	public void setPayableFlag(String payableFlag) {
		this.payableFlag = payableFlag;
	}

	/**
	 * @return the returnContractGuaranteeFlag
	 */
	public String getReturnContractGuaranteeFlag() {
		return returnContractGuaranteeFlag;
	}

	/**
	 * @param returnContractGuaranteeFlag the returnContractGuaranteeFlag to set
	 */
	public void setReturnContractGuaranteeFlag(String returnContractGuaranteeFlag) {
		this.returnContractGuaranteeFlag = returnContractGuaranteeFlag;
	}

	/**
	 * @return the status
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * @param status the status to set
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	public VwSyncRequestPayment() {
    }

	public BigDecimal getActualWorkCompleted() {
		return this.actualWorkCompleted;
	}

	public void setActualWorkCompleted(BigDecimal actualWorkCompleted) {
		this.actualWorkCompleted = actualWorkCompleted;
	}

	public String getBuildingPhase() {
		return this.buildingPhase;
	}

	public void setBuildingPhase(String buildingPhase) {
		this.buildingPhase = buildingPhase;
	}

	public String getCompany() {
		return this.company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	public BigDecimal getContrGuaranteeAmount() {
		return this.contrGuaranteeAmount;
	}

	public void setContrGuaranteeAmount(BigDecimal contrGuaranteeAmount) {
		this.contrGuaranteeAmount = contrGuaranteeAmount;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public String getCreatedByName() {
		return this.createdByName;
	}

	public void setCreatedByName(String createdByName) {
		this.createdByName = createdByName;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public String getCurrency() {
		return this.currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public Long getDocNo() {
		return this.docNo;
	}

	public void setDocNo(Long docNo) {
		this.docNo = docNo;
	}

	public String getDocSeries() {
		return this.docSeries;
	}

	public void setDocSeries(String docSeries) {
		this.docSeries = docSeries;
	}

	public String getDocType() {
		return this.docType;
	}

	public void setDocType(String docType) {
		this.docType = docType;
	}

	public BigDecimal getFeeAmount() {
		return this.feeAmount;
	}

	public void setFeeAmount(BigDecimal feeAmount) {
		this.feeAmount = feeAmount;
	}

	public BigDecimal getInstallmentAmount() {
		return this.installmentAmount;
	}

	public void setInstallmentAmount(BigDecimal installmentAmount) {
		this.installmentAmount = installmentAmount;
	}

	public BigDecimal getInstallmentNumber() {
		return this.installmentNumber;
	}

	public void setInstallmentNumber(BigDecimal installmentNumber) {
		this.installmentNumber = installmentNumber;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public String getLastUpdByName() {
		return this.lastUpdByName;
	}

	public void setLastUpdByName(String lastUpdByName) {
		this.lastUpdByName = lastUpdByName;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public BigDecimal getPaymentAmount() {
		return this.paymentAmount;
	}

	public void setPaymentAmount(BigDecimal paymentAmount) {
		this.paymentAmount = paymentAmount;
	}

	public String getPaymentRequestDetailsId() {
		return this.paymentRequestDetailsId;
	}

	public void setPaymentRequestDetailsId(String paymentRequestDetailsId) {
		this.paymentRequestDetailsId = paymentRequestDetailsId;
	}

	public String getPaymentRequestHeaderId() {
		return this.paymentRequestHeaderId;
	}

	public void setPaymentRequestHeaderId(String paymentRequestHeaderId) {
		this.paymentRequestHeaderId = paymentRequestHeaderId;
	}

	public String getPaymentRequestInstId() {
		return this.paymentRequestInstId;
	}

	public void setPaymentRequestInstId(String paymentRequestInstId) {
		this.paymentRequestInstId = paymentRequestInstId;
	}

	public BigDecimal getPenaltyAmount() {
		return this.penaltyAmount;
	}

	public void setPenaltyAmount(BigDecimal penaltyAmount) {
		this.penaltyAmount = penaltyAmount;
	}

	public BigDecimal getPoDeductAmount() {
		return this.poDeductAmount;
	}

	public void setPoDeductAmount(BigDecimal poDeductAmount) {
		this.poDeductAmount = poDeductAmount;
	}

	public String getProject() {
		return this.project;
	}

	public void setProject(String project) {
		this.project = project;
	}

	public String getPropertyCategory() {
		return this.propertyCategory;
	}

	public void setPropertyCategory(String propertyCategory) {
		this.propertyCategory = propertyCategory;
	}

	public String getRefContractNo() {
		return this.refContractNo;
	}

	public void setRefContractNo(String refContractNo) {
		this.refContractNo = refContractNo;
	}

	public String getRefInvoiceNo() {
		return this.refInvoiceNo;
	}

	public void setRefInvoiceNo(String refInvoiceNo) {
		this.refInvoiceNo = refInvoiceNo;
	}

	public BigDecimal getRefNo() {
		return this.refNo;
	}

	public void setRefNo(BigDecimal refNo) {
		this.refNo = refNo;
	}

	public String getRefSeries() {
		return this.refSeries;
	}

	public void setRefSeries(String refSeries) {
		this.refSeries = refSeries;
	}

	public String getRefType() {
		return this.refType;
	}

	public void setRefType(String refType) {
		this.refType = refType;
	}

	public Date getRequestDate() {
		return this.requestDate;
	}

	public void setRequestDate(Date requestDate) {
		this.requestDate = requestDate;
	}

	public String getRequestNo() {
		return this.requestNo;
	}

	public void setRequestNo(String requestNo) {
		this.requestNo = requestNo;
	}

	public BigDecimal getRetentionAmount() {
		return this.retentionAmount;
	}

	public void setRetentionAmount(BigDecimal retentionAmount) {
		this.retentionAmount = retentionAmount;
	}

	public String getSapCompanyCode() {
		return this.sapCompanyCode;
	}

	public void setSapCompanyCode(String sapCompanyCode) {
		this.sapCompanyCode = sapCompanyCode;
	}

	public String getSapPlantCode() {
		return this.sapPlantCode;
	}

	public void setSapPlantCode(String sapPlantCode) {
		this.sapPlantCode = sapPlantCode;
	}

	public long getSeq() {
		return this.seq;
	}

	public void setSeq(long seq) {
		this.seq = seq;
	}

	public String getSupplierCode() {
		return this.supplierCode;
	}

	public void setSupplierCode(String supplierCode) {
		this.supplierCode = supplierCode;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIsstaging() {
		return this.syncIsstaging;
	}

	public void setSyncIsstaging(String syncIsstaging) {
		this.syncIsstaging = syncIsstaging;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public String getTaxType() {
		return this.taxType;
	}

	public void setTaxType(String taxType) {
		this.taxType = taxType;
	}

	public String getUnitNumber() {
		return this.unitNumber;
	}

	public void setUnitNumber(String unitNumber) {
		this.unitNumber = unitNumber;
	}

	public String getZoneCode() {
		return this.zoneCode;
	}

	public void setZoneCode(String zoneCode) {
		this.zoneCode = zoneCode;
	}

}